/**
 * =====================================
 *         UI Design Guide
 * =====================================
 * 
 * Project: New Energy Coder Club
 * Type: Tech Community Website
 * 
 * Design Language
 * Style: Modern · Tech-focused · Sustainable
 * Vision: Blend technology aesthetics with clean energy themes
 * 
 * Characteristics:
 * - Futuristic: Modern UI elements with tech-inspired design
 * - Sustainable: Green energy accent colors to reflect mission
 * - Professional: Clean, organized layouts with clear hierarchy
 * 
 * Philosophy:
 * Creating a visual identity that represents the intersection of coding 
 * and sustainable energy. The design emphasizes innovation while maintaining
 * accessibility and clear information hierarchy.
 * 
 * Reference: GitHub, Energy.gov, Tesla
 * =====================================
 */

@import "./styles/markdown.css";
@import "./styles/filter-animations.css";

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 210 40% 98%;
    --foreground: 222 84% 4.9%;
    --card: 0 0% 100%;
    --card-foreground: 222 84% 4.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222 84% 4.9%;
    --primary: 142 76% 36%;
    --primary-foreground: 355 100% 97%;
    --secondary: 210 40% 94%;
    --secondary-foreground: 222 47% 11%;
    --muted: 210 40% 94%;
    --muted-foreground: 215 16% 47%;
    --accent: 174 62% 47%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 84% 60%;
    --destructive-foreground: 0 0% 98%;
    --border: 214 32% 91%;
    --input: 214 32% 91%;
    --ring: 142 76% 36%;
    --chart-1: 142 76% 36%;
    --chart-2: 174 62% 47%;
    --chart-3: 197 37% 24%;
    --chart-4: 160 84% 39%;
    --chart-5: 88 50% 60%;
    --radius: 0.75rem;
    --sidebar-background: 210 40% 98%;
    --sidebar-foreground: 222 47% 11%;
    --sidebar-primary: 142 76% 36%;
    --sidebar-primary-foreground: 355 100% 97%;
    --sidebar-accent: 210 40% 94%;
    --sidebar-accent-foreground: 222 47% 11%;
    --sidebar-border: 214 32% 91%;
    --sidebar-ring: 142 76% 36%;}
  .dark {
    --background: 222 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222 84% 4.9%;
    --card-foreground: 210 40% 98%;
    --popover: 222 84% 4.9%;
    --popover-foreground: 210 40% 98%;
    --primary: 142 76% 36%;
    --primary-foreground: 355 100% 97%;
    --secondary: 217 32% 17%;
    --secondary-foreground: 210 40% 98%;
    --muted: 217 32% 17%;
    --muted-foreground: 215 20% 65%;
    --accent: 174 62% 47%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: 217 32% 17%;
    --input: 217 32% 17%;
    --ring: 142 76% 36%;
    --chart-1: 142 76% 36%;
    --chart-2: 174 62% 47%;
    --chart-3: 30 80% 55%;
    --chart-4: 160 84% 39%;
    --chart-5: 340 75% 55%;
    --sidebar-background: 222 84% 4.9%;
    --sidebar-foreground: 210 40% 98%;
    --sidebar-primary: 142 76% 36%;
    --sidebar-primary-foreground: 355 100% 97%;
    --sidebar-accent: 217 32% 17%;
    --sidebar-accent-foreground: 210 40% 98%;
    --sidebar-border: 217 32% 17%;
    --sidebar-ring: 142 76% 36%;}
}
@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
    font-feature-settings: "rlig" 1, "calt" 1;
  }
}

@layer components {
  /* Enhanced gradient backgrounds */
  .gradient-bg-primary {
    background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
  }
  
  .gradient-bg-secondary {
    background: linear-gradient(135deg, hsl(var(--secondary)) 0%, hsl(var(--muted)) 100%);
  }
  
  .gradient-text {
    background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--accent)) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  
  /* Enhanced glass morphism effect */
  .glass-card {
    background: rgba(255, 255, 255, 0.1);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
  }
  
  /* Animated gradient border */
  .animated-border {
    position: relative;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent)));
    padding: 2px;
    border-radius: calc(var(--radius) + 2px);
  }
  
  .animated-border::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 2px;
    background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent)), hsl(var(--primary)));
    border-radius: inherit;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: xor;
    animation: rotate 3s linear infinite;
  }
  
  @keyframes rotate {
    to {
      transform: rotate(360deg);
    }
  }
  
  /* Enhanced hover effects */
  .hover-lift {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  .hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
  
  /* Glowing effect */
  .glow {
    box-shadow: 0 0 20px hsl(var(--primary) / 0.3);
  }
  
  .glow-hover:hover {
    box-shadow: 0 0 30px hsl(var(--primary) / 0.5);
    transition: box-shadow 0.3s ease;
  }
  
  /* Text clamp utilities */
  .line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  .line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}